1. Field of Invention
The present invention relates to an optical drive controller chip and a method for the optical drive controller chip to send a command message in advance. More particularly, the present invention relates to an optical drive controller chip for sending a plurality of command messages to a decoder module and the transmission method thereof.
2. Description of Related Art
In the field of video compression, the MPEG standard is one of the most popular standards. In the MPEG standard, the MPEG 2 standard can provide high quality video, and therefore, it is the most popular video standard in the market. The data involved in video compatible with MPEG 2 standard is huge, so a high capacity storage medium is needed, such as a DVD.
In the process of playing a DVD, the control of a servo motor is needed to move the laser pick-up to the right position. Thus, the right data can be read from the DVD. Moreover, the data read from the DVD has to be quickly and efficiently decoded according to the MPEG 2 standard, so that the MPEG 2 video is played smoothly without blocking or delayed effect.
The calculation for decoding an MPEG 2 video is very complex. If the decoding process is performed by software, blocking and delays may happen because of the speed limits of the central processing unit. If the decoding process is performed by hardware, the MPEG 2 decoding, the DVD decoding, and the control of the servo motor must cooperate very well. Therefore, how to design a hardware for driving a servo motor, decoding the content in the optical disk, performing the MPEG 2 decoding, and utilizing the advantages of SOC (system on chip) to play a DVD very fluently is in great need.
FIG. 1 is a block diagram illustrating an optical drive control circuit. With reference to FIG. 1, the optical drive control circuit 100 includes a first central processing unit 102, a second central processing unit 104, an MPEG module 106, and a decoder module 108. The decoder module 108 includes a servo controller 110. The servo controller 110 controls a servo motor (not shown). The servo motor drives the optical disk, so that the laser pick-up is able to read the right data from the right position on the optical disk. The optical disk is, for example, a DVD. The second central processing unit 104 controls the decoder 108.
The MPEG module 106 obtains the data read from the optical disk and decodes the data according to an MPEG standard. The MPEG standard is, for example, a MPEG 2 standard. The first central processing unit 102 controls the MPEG module 106. There is an IDE (Integrated Drive Electronics) interface 114 between the MPEG module 106 and the decoder module 108. Therefore, communication between the MPEG module 106 and the decoder module 108 must be via the IDE interface 114.
FIG. 3 is a diagram illustrating an ATAPI command sequence in accordance with the block diagram shown in FIG. 1. With reference to FIG. 3, the MPEG module 106 sends an ATAPI command message 304 to the decoder module 108 via the ATAPI interface 302. The ATAPI interface 302 is a type of IDE interface 114 shown in FIG. 1. After receiving the ATAPI command message 304, the decoder module 108 controls the laser pick-up to read data from the optical disk and stores the data in a memory 112 (as shown in FIG. 1). After the data is stored in the memory 112, the decoder module 108 sends an acknowledgement message 306 via the ATAPI interface 302. The acknowledgement message 306 is converted into an ATA ISR signal 308 to inform the MPEG module 106.
Next, the decoder module 108 updates the device, prepares data, and sends an update device signal 310 to the ATAPI interface 302. Before sending next ATAPI command message 312, the MPEG module 106 sends a read device status signal 314 to make sure that the decoder module 108 is ready for receiving the ATAPI command message 312. Next, the MPEG module 106 sends the ATAPI command message 312. Next, the MPEG module 106 and the decoder module 108 repeat the same handshaking procedure and read the data on the optical disk and perform MPEG 2 decoding.
As mentioned above, in FIG. 3, the handshaking between the MPEG module 106 and the decoder module 108 must be transmitted via the ATAPI interface 302. Not until the MPEG module 106 makes sure that the acknowledgement message 306 sent from the decoder module 108 is received does the MPEG module 106 send next ATAPI command message 312. After receiving the ATAPI command message 304 or 312, the decoder module 108 controls the servo motor to move the laser pick-up to the right position so that the right data can be read. If the allocation of data recorded on the optical disk is discontinuous, it may take a long time for the laser pick-up to move to the right position. The time spent in moving the pick-up to the right position is longer than the time spent in decoding the data read from the optical disk (such as data error detection or data recovery). When the moving speed of the laser pick-up is not fast enough, the MPEG module 106 may not be able to get the data on time, so that the decoded video is blocked or delayed.